From 8940118dd22c5f2ab680ef8036bcfafecc5696ab Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 7 Dec 2023 22:34:23 -0800 Subject: password reset --- src/routes/(app)/reset/[code]/+page.server.js | 30 ++++++++++ src/routes/(app)/reset/[code]/+page.svelte | 80 +++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 src/routes/(app)/reset/[code]/+page.server.js create mode 100644 src/routes/(app)/reset/[code]/+page.svelte (limited to 'src/routes/(app)/reset/[code]') diff --git a/src/routes/(app)/reset/[code]/+page.server.js b/src/routes/(app)/reset/[code]/+page.server.js new file mode 100644 index 00000000..92ad1d0f --- /dev/null +++ b/src/routes/(app)/reset/[code]/+page.server.js @@ -0,0 +1,30 @@ +import { fail, redirect } from "@sveltejs/kit"; +import { fd, post, login } from "$lib/utils"; + +export const actions = { + default: async ({ cookies, params, request }) => { + let ip = request.headers.get("cf-connecting-ip"); + let error; + + let { code } = params; + let { password } = await fd(request); + + try { + let user = await post("/reset", { code, password }); + user.password = password; + + try { + await login(user, cookies, ip); + error = null; + } catch (e) { + error ||= e.message; + } + + if (error) return fail(400, { error }); + throw redirect(307, `/${user.username}`); + } catch (e) { + console.log(e.message); + return fail(400, { error: e.message }); + } + }, +}; diff --git a/src/routes/(app)/reset/[code]/+page.svelte b/src/routes/(app)/reset/[code]/+page.svelte new file mode 100644 index 00000000..83e860ae --- /dev/null +++ b/src/routes/(app)/reset/[code]/+page.svelte @@ -0,0 +1,80 @@ + + +
+
+ + + +
+ +
+
+

{$t("login.reset")}

+ + {#if form?.error} +
+ {form.error} +
+ {/if} + +
+
+ + {#if revealPassword} + + {:else} + + {/if} + +
+ +
A new seed phrase will be generated for your account. You'll need to import your old seed phrase if you want to use the same nostr profile and savings account as before.
+ + +
+
+
+
-- cgit v1.2.3